﻿using System;
using SharpSqlAnalyzer.nodes;
using SharpSqlAnalyzer.nodes.oracle;

namespace SharpSqlAnalyzer.stmt.oracle
{
	// Token: 0x02000130 RID: 304
	public class TOracleCreateLibraryStmt : TCustomSqlStatement
	{
		// Token: 0x060009CE RID: 2510 RVA: 0x00303E23 File Offset: 0x00302023
		public TOracleCreateLibraryStmt(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstoraclecreatelibrary;
		}

		// Token: 0x170001BA RID: 442
		// (get) Token: 0x060009CF RID: 2511 RVA: 0x00303E37 File Offset: 0x00302037
		// (set) Token: 0x060009D0 RID: 2512 RVA: 0x00303E3F File Offset: 0x0030203F
		public virtual TObjectName DbLink
		{
			get
			{
				return this.dbLink;
			}
			set
			{
				this.dbLink = value;
			}
		}

		// Token: 0x170001BB RID: 443
		// (get) Token: 0x060009D1 RID: 2513 RVA: 0x00303E48 File Offset: 0x00302048
		// (set) Token: 0x060009D2 RID: 2514 RVA: 0x00303E50 File Offset: 0x00302050
		public virtual TObjectName FileName
		{
			get
			{
				return this.fileName;
			}
			set
			{
				this.fileName = value;
			}
		}

		// Token: 0x170001BC RID: 444
		// (get) Token: 0x060009D3 RID: 2515 RVA: 0x00303E59 File Offset: 0x00302059
		// (set) Token: 0x060009D4 RID: 2516 RVA: 0x00303E61 File Offset: 0x00302061
		public virtual TObjectName LibraryName
		{
			get
			{
				return this.libraryName;
			}
			set
			{
				this.libraryName = value;
			}
		}

		// Token: 0x060009D5 RID: 2517 RVA: 0x00303E6C File Offset: 0x0030206C
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			TOracleCreateLibrarySqlNode toracleCreateLibrarySqlNode = (TOracleCreateLibrarySqlNode)this.rootNode;
			this.libraryName = toracleCreateLibrarySqlNode.LibraryName;
			this.libraryName.ObjectType = 72;
			base.DatabaseObjects.Add(this.libraryName);
			this.fileName = toracleCreateLibrarySqlNode.FileName;
			this.dbLink = toracleCreateLibrarySqlNode.DbLink;
			return 0;
		}

		// Token: 0x060009D6 RID: 2518 RVA: 0x00303EDA File Offset: 0x003020DA
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x060009D7 RID: 2519 RVA: 0x00303EEA File Offset: 0x003020EA
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x04001259 RID: 4697
		private TObjectName libraryName;

		// Token: 0x0400125A RID: 4698
		private TObjectName fileName;

		// Token: 0x0400125B RID: 4699
		private TObjectName dbLink;
	}
}
